/**@file
 * @brief suit.h实现
 * @see suit.h
 * @author 朱项男<libxiangnan@gmail.com>
 * @date 2011/11/24
 * @version 0.0.1
 *
 * */

#include <string>
#include <vector>

#include "entity.h"
#include "suite.h"
#include "script.h"

using namespace std;

namespace dat {

//! @brief 构造函数
Suite::Suite() :
		scrs(std::vector<Script>()) {
	;
}

//! @brief 析构函数
Suite::~Suite() {
	;
}

//! @brief scr
//! @param[in] scr 下一级测试脚本
void Suite::add(const Script &scr) {
	scrs.push_back(scr);
}

//! @brief scrs Setter
//! @brief scrs 下一级测试脚本列表
void Suite::setScrs(const std::vector<Script> &scrs) {
	this->scrs = scrs;
}

//! @brief scrs Getter
//! @return 下一级脚本列表
std::vector<Script> Suite::getScrs() {
	return this->scrs;
}

//! @brief 根据ID移除测试脚本
//! @param[in] id Script id
//! @return 如果成功移除返回true，否则返回false
bool Suite::rmById(std::string id) {
	for(std::vector<Script>::iterator iter = scrs.begin(); iter != scrs.end(); ++iter) {
		if(0 == id.compare((*iter).getId())) {
			scrs.erase(iter);
			return true;
		}
	}
	return false;
}

//! @brief 清空脚本列表
void Suite::emptyScrs() {
	if(!scrs.empty()) {
		scrs.clear();
	}
}

} /* namespace dat */
